package com.wicket.okrfinance.integration.dto;

import com.wicket.okrfinance.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BatchQueryFinanceAccountListByIdsComReqDto
 * @使用场景
 */
@Data
public class BatchQueryFinanceAccountListByIdsComReqDto
  extends BaseDto
  implements Serializable {

  @ApiModelProperty("资金账户列表 ")
  List<String> financeAccountList = new ArrayList<>();

  /**
   * 账户类型 POOL_ACCOUNT:发行账户 ECOLOGICAL_ACCOUNT:生态账户
   */
  @ApiModelProperty("账户类型")
  private String accountTypeCode;

  /**
   * 是否预算账户 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否预算账户")
  private String isBudgetAccount;

  /**
   * 生态账户类型编码 ORG_POOL_ACCOUNT:组织发行账户 TARGET_CONTENT_ACCOUNT:目标内容账户
   */
  @ApiModelProperty("生态账户类型编码")
  private String ecologicalAccountTypeCode;

  /**
   * 账户关联主体分类类型 CONTENT_TYPE:内容分类 ORGANIZATIONAL_STRUCTURE_TYPE:组织架构分类
   */
  @ApiModelProperty("账户关联主体分类类型")
  private String accountObjectClass;

  /**
   * 关联归属主体类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标 DEPT:部门
   */
  @ApiModelProperty("关联归属主体类型编码")
  private String accountObjectTypeCode;

  /**
   * 关联归属主体标识
   */
  @ApiModelProperty("关联归属主体标识")
  private String accountContentCode;

  /**
   * 发行体系类型编码 CAPITAL_SYSTEM:资金体系 INTEGRAL_SYSTEM:积分体系
   */
  @ApiModelProperty("发行体系类型编码")
  private String distributionSystemTypeCode;

  /**
   * 是否组织正式财务标准 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否组织正式财务标准")
  private String isOrgOfficialAccountNom;

  /**
   * 主题内容ID
   */
  @ApiModelProperty("主题内容ID")
  private String themeContentId;

  /**
   * 是否存档 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否存档")
  private String isArchive;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
